import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm'
import { FieldDefinition } from './field-definition.entity'

/**
 * 元数据模型实体
 * 用于描述业务模型的结构（如表名、显示名、字段等）
 */
@Entity('va_model_schemas')
export class ModelSchema {
  /** 主键ID */
  @PrimaryGeneratedColumn()
  id: number

  /** 模型英文名（唯一） */
  @Column({ length: 100 })
  name: string

  /** 模型显示名 */
  @Column({ length: 100 })
  label: string

  /** 字段定义列表 */
  @OneToMany(() => FieldDefinition, (field) => field.model, { cascade: true, eager: true })
  fields: FieldDefinition[]
}
